home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / HPACK78S.ZIP / flags.h < prev    next >
C/C++ Source or Header  |  1992-10-01  |  5KB  |  119 lines

  1. /****************************************************************************
  2. *                                                                            *
  3. *                            HPACK Multi-System Archiver                        *
  4. *                            ===========================                        *
  5. *                                                                            *
  6. *                              User Flags Header File                        *
  7. *                             FLAGS.H  Updated 09/06/92                        *
  8. *                                                                            *
  9. * This program is protected by copyright and as such any use or copying of    *
  10. *  this code for your own purposes directly or indirectly is highly uncool    *
  11. *                      and if you do so there will be....trubble.                *
  12. *                 And remember: We know where your kids go to school.            *
  13. *                                                                            *
  14. *        Copyright 1989 - 1992  Peter C.Gutmann.  All rights reserved        *
  15. *                                                                            *
  16. ****************************************************************************/
  17.  
  18. #ifndef _FLAGS_DEFINED
  19.  
  20. #define _FLAGS_DEFINED
  21.  
  22. /* The word used to hold the flag values */
  23.  
  24. extern WORD flags;
  25. extern WORD dirFlags;
  26. extern WORD cryptFlags;
  27. extern WORD specialFlags;
  28. extern WORD overwriteFlags;
  29. extern WORD multipartFlags;
  30. extern WORD sysSpecFlags;
  31.  
  32. /* The values in the flags word */
  33.  
  34. #define OVERWRITE_SRC    0x0001    /* Delete archive if it already exists */
  35. #define TOUCH_FILES        0x0002    /* Touch files on extraction */
  36. #define RECURSE_SUBDIR    0x0004    /* Recurse through all subdirectories */
  37. #define STORE_PATH        0x0008    /* Store pathname of dirs.recursed into */
  38. #define CRYPT            0x0010  /* Encrypt the data */
  39. #define OVERWRITE_OPTIONS    0x0020    /* Options for overwrite on extract */
  40. #define MOVE_FILES        0x0040    /* Move files to/from archive */
  41. #define STORE_ATTR        0x0080    /* Store file attributes */
  42. #define STORE_ONLY        0x0100    /* Store data only, don't compress */
  43. #define XLATE_OUTPUT    0x0200    /* Apply translation to decompressor output */
  44. #define STEALTH_MODE    0x0400    /* Run in stealth mode */
  45. #define INTERACTIVE        0x0800    /* Confirm each action taken */
  46. #define ERROR_RECOVER    0x1000    /* Write error recovery info */
  47. #define ARCH_COMMENT    0x2000    /* Args are archive comments */
  48. #define MULTIPART_ARCH    0x4000    /* Multi-part archive */
  49. #define BLOCK_MODE        0x8000    /* Compress files in block mode */
  50.  
  51. /* The values in the overwriteFlags word */
  52.  
  53. #define OVERWRITE_ALL    0x0001    /* Overwrite existing on extraction */
  54. #define OVERWRITE_NONE    0x0002    /* Don't overwrite existing on extraction */
  55. #define OVERWRITE_SMART    0x0004  /* Rename source to avoid overwrite */
  56. #define OVERWRITE_PROMPT    0x0008    /* Prompt for new filename if collision */
  57.  
  58. /* The values in the viewFlags word */
  59.  
  60. #define VIEW_FILES        0x0001    /* View only the files in an archive */
  61. #define VIEW_DIRS        0x0002    /* View only the dirs in an archive */
  62. #define VIEW_SORTED        0x0004    /* Sort files in directories */
  63.  
  64. /* The values in the dirFlags word */
  65.  
  66. #define DIR_MKDIR        0x0001    /* Make directory */
  67. #define DIR_RMDIR        0x0002    /* Remove directory */
  68. #define DIR_MVDIR        0x0004    /* Move directory */
  69. #define DIR_ALLPATHS    0x0008    /* Add all paths (even empty ones) */
  70. #define DIR_NOCREATE    0x0010    /* No create dir.if it doesn't already exist */
  71. #define DIR_MULTIDIR    0x0020    /* Full paths for ??DIR, not just single dirs */
  72. #define DIR_CONTAIN        0x0040    /* Only create containing dir, not whole path */
  73.  
  74. /* The values in the xlateFlags word */
  75.  
  76. #define XLATE_EOL        0x0001    /* Translate EOL character */
  77. #define XLATE_EBCDIC    0x0002    /* Translate EBCDIC -> ASCII */
  78. #define XLATE_PRIME        0x0004    /* Translate Prime ASCII -> std.ASCII */
  79. #define XLATE_SMART        0x0008    /* Smart xlate depending on OS */
  80.  
  81. /* The values in the cryptFlags word */
  82.  
  83. #define CRYPT_PKE        0x0001    /* PKE-en/decrypt data */
  84. #define CRYPT_CKE        0x0002    /* CKE-en/decrypt data */
  85. #define CRYPT_PKE_ALL    0x0004    /* PKE-en/decrypt entire archive */
  86. #define CRYPT_CKE_ALL    0x0008    /* CKE-en/decrypt entire archive */
  87. #define CRYPT_SEC        0x0010    /* Encrypt data and directory seperately */
  88. #define CRYPT_SIGN        0x0020    /* Sign data */
  89. #define CRYPT_SIGN_ALL    0x0040    /* Sign entire archive */
  90.  
  91. /* The values in the multipartFlags word */
  92.  
  93. #define MULTIPART_READ    0x0001    /* Reading a multipart archive */
  94. #define MULTIPART_WRITE    0x0002    /* Writing a multipart archive */
  95.  
  96. /* The values in the sysSpecFlags word */
  97.  
  98. #if defined( __MSDOS__ )
  99.   #define SYSPEC_VOLUME        0x0001    /* Store volume label + serial number */
  100.   #define SYSPEC_CHECKSAFE    0x0002    /* Check for device driver as filename */
  101. #elif defined( __AMIGA__ )
  102.   #define SYSPEC_FORCELOWER    0x0001    /* Force file/dir names to lower case */
  103. #elif defined( __ARC__ )
  104.   #define SYSPEC_FORCELOWER    0x0001    /* Force file/dir names to lower case */
  105.   #define SYSPEC_INVERTDIR    0x0002    /* Invert extensions into directories */
  106. #elif defined( __MAC__ )
  107.   #define SYSPEC_FORCELOWER    0x0001    /* Force file/dir names to lower case */
  108. #elif defined( __OS2__ )
  109.   #define SYSPEC_FORCELOWER    0x0001    /* Force file/dir names to lower case */
  110. #elif defined( __UNIX__ )
  111.   #define SYSPEC_FORCELOWER    0x0001    /* Force file/dir names to lower case */
  112.   #define SYSPEC_NOUMASK    0x0002    /* Ignore umask for file/dir attributes */
  113.   #define SYSPEC_DEVICE        0x0004    /* Treat archive name as device */
  114. #elif defined( __VMS__ )
  115.   #define SYSPEC_RSX11        0x0001    /* Translate filenames to RSX-11 format */
  116. #endif /* Various system-specific options */
  117.  
  118. #endif /* !_FLAGS_DEFINED */
  119.